RNA-Seq: TFA analysis of SC Controls

Libraries required

library(plgINS)
library(plotly)
library(UpSetR)
library(RColorBrewer)
library(grid)
library(gridExtra)
library(DT)

Data

load("input/dea_SC_Controls.DEA.RData")
load("input/voom_EList_SC_Controls.RData")
load("input/salmon_SC_controls.tds.RData")
data(regulon.curated.mm)

TFA analysis

Transcription Factor Binding Affinity analysis is performed using Virtual Inference of Protein-activity by Enriched Regulon analysis (VIPER) algorithm.

Regulon is a group of genes that are regulated as a unit, generally controlled by the same regulatory gene that expresses a protein acting as a repressor or activator.

More details: 10.1038/ng.3593

Function to show table

make_DT <- function(tab) {
  df <- data.frame(TF = rownames(tab), tab, check.names = F, stringsAsFactors = F)
  DT::datatable(
    df,
    rownames = F,
    filter = "top", extensions = c("Buttons", "ColReorder"), options = list(
      autoWidth = TRUE,
      columnDefs = list(list(
        targets = 12,
        render = JS(
          "function(data, type, row, meta) {",
          "return type === 'display' && data.length > 8 ?",
          "'<span title=\"' + data + '\">' + data.substr(0, 8) + '...</span>' : data;",
          "}"
        )
      )),
      pageLength = 10,
      buttons = c("copy", "csv", "excel", "pdf", "print"),
      colReorder = list(realtime = FALSE),
      dom = "fltBip"
    )
  )
}

Filters a viper regulon by likelihood

regulon.mm10 <- regulon.filter(regulon = regulon.curated.mm, min.likelihood = 0.15)

TFA analysis

All regulons

tfa.all <- mapply(
  function(x, y) TFA(se = x$E, dea = y, design = x$design, regulon = regulon.curated.mm),
  voomEList, dea.list
)

tfa.all <- lapply(tfa.all, function(x) {
  colData(x) <- DataFrame(salmon@phenoData[colnames(x), ])
  return(x)
})

Filtered regulons

tfa <- mapply(
  function(x, y) TFA(se = x$E, dea = y, design = x$design, regulon = regulon.mm10),
  voomEList, dea.list
)

tfa <- lapply(tfa, function(x) {
  colData(x) <- DataFrame(salmon@phenoData[colnames(x), ])
  return(x)
})

Results

Volcano plots

All regulons

p <- subplot(plotTFA(tfa.all$`PND8 vs PND15`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa.all$`PND8 vs Adult`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa.all$`PND15 vs Adult`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
nrows = 3, shareX = T, shareY = T, titleX = T, titleY = T
)

p %>% layout(title = "", annotations = list(
  list(
    x = 0.5, y = 1.02, text = "PND8 vs PND15", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  ),
  list(
    x = 0.5, y = 0.66, text = "PND8 vs Adult", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  ),
  list(
    x = 0.5, y = 0.33, text = "PND15 vs Adult", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  )
), showlegend = FALSE)

Filtered regulons

p <- subplot(plotTFA(tfa$`PND8 vs PND15`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa$`PND8 vs Adult`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa$`PND15 vs Adult`) %>%
  layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
nrows = 3, shareX = T, shareY = T, titleX = T, titleY = T
)

p %>% layout(title = "", annotations = list(
  list(
    x = 0.5, y = 1.02, text = "PND8 vs PND15", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  ),
  list(
    x = 0.5, y = 0.66, text = "PND8 vs Adult", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  ),
  list(
    x = 0.5, y = 0.33, text = "PND15 vs Adult", showarrow = F, xref = "paper", yref = "paper",
    font = list(color = "red", family = "Arial", size = 16)
  )
), showlegend = FALSE)

UpSetPlot

All regulons

tfa.all.union <- Reduce(
  union,
  list(
    rownames(rowData(tfa.all$`PND8 vs PND15`)[rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]),
    rownames(rowData(tfa.all$`PND8 vs Adult`)[rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]),
    rownames(rowData(tfa.all$`PND15 vs Adult`)[rowData(tfa.all$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ])
  )
)

tfa.all.upset <- data.frame(
  TF = tfa.all.union, `PND8 vs PND15` = 0, `PND8 vs Adult` = 0, `PND15 vs Adult` = 0,
  check.names = F, stringsAsFactors = F
)
rownames(tfa.all.upset) <- tfa.all.upset$TF


tfa.all.upset[rownames(rowData(tfa.all$`PND8 vs PND15`)[rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]), 2] <- 1
tfa.all.upset[rownames(rowData(tfa.all$`PND8 vs Adult`)[rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 3] <- 1
tfa.all.upset[rownames(rowData(tfa.all$`PND15 vs Adult`)[rowData(tfa.all$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 4] <- 1

col <- brewer.pal(7, "Set1")


upset(tfa.all.upset[, 2:4],
  point.size = 5, sets.bar.color = col[1:3], matrix.color = col[5],
  order.by = "freq", set_size.numbers_size = T, text.scale = c(1.5, 2, 1.5, 1.5, 1.5, 2)
)
grid.edit("arrange", name = "UpSet")
vp <- grid.grab()
grid.arrange(
  grobs = list(
    vp
  ),
  top = "TFA in SC at different stages of development (FDR <= 0.05)",
  cols = 1
)
grid.arrange(
  grobs = list(
    vp
  ),
  top = "TFA in SC at different stages of development (FDR <= 0.05)",
  cols = 1
)

Filtered regulons

tfa.union <- Reduce(
  union,
  list(
    rownames(rowData(tfa$`PND8 vs PND15`)[rowData(tfa$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]),
    rownames(rowData(tfa$`PND8 vs Adult`)[rowData(tfa$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]),
    rownames(rowData(tfa$`PND15 vs Adult`)[rowData(tfa$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ])
  )
)

tfa.upset <- data.frame(
  TF = tfa.union, `PND8 vs PND15` = 0, `PND8 vs Adult` = 0, `PND15 vs Adult` = 0,
  check.names = F, stringsAsFactors = F
)
rownames(tfa.upset) <- tfa.upset$TF


tfa.upset[rownames(rowData(tfa$`PND8 vs PND15`)[rowData(tfa$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]), 2] <- 1
tfa.upset[rownames(rowData(tfa$`PND8 vs Adult`)[rowData(tfa$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 3] <- 1
tfa.upset[rownames(rowData(tfa$`PND15 vs Adult`)[rowData(tfa$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 4] <- 1

col <- brewer.pal(7, "Set1")


upset(tfa.upset[, 2:4],
  point.size = 5, sets.bar.color = col[1:3], matrix.color = col[5],
  order.by = "freq", set_size.numbers_size = T, text.scale = c(1.5, 2, 1.5, 1.5, 1.5, 2)
)
grid.edit("arrange", name = "UpSet")
vp <- grid.grab()
grid.arrange(
  grobs = list(
    vp
  ),
  top = "TFA in SC at different stages of development (FDR <= 0.05)",
  cols = 1
)
grid.arrange(
  grobs = list(
    vp
  ),
  top = "TFA in SC at different stages of development (FDR <= 0.05)",
  cols = 1
)

Heatmaps of TBA

Data prep

All regulons

tfa.all$`PND8 vs PND15` <- tfa.all$`PND8 vs PND15`[, c(
  grep(pattern = "PND8", x = colnames(tfa.all$`PND8 vs PND15`), value = T),
  grep(pattern = "PND15", x = colnames(tfa.all$`PND8 vs PND15`), value = T)
)]

# rowData(tfa.all$`PND8 vs PND15`) <- rowData(tfa.all$`PND8 vs PND15`)[order(rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"]), ]


tfa.all$`PND8 vs Adult` <- tfa.all$`PND8 vs Adult`[, c(
  grep(pattern = "PND8", x = colnames(tfa.all$`PND8 vs Adult`), value = T),
  grep(pattern = "Adult", x = colnames(tfa.all$`PND8 vs Adult`), value = T)
)]

# rowData(tfa.all$`PND8 vs Adult`) <- rowData(tfa.all$`PND8 vs Adult`)[order(rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"]), ]

tfa.all$`PND15 vs Adult` <- tfa.all$`PND15 vs Adult`[, c(
  grep(pattern = "PND15", x = colnames(tfa.all$`PND15 vs Adult`), value = T),
  grep(pattern = "Adult", x = colnames(tfa.all$`PND15 vs Adult`), value = T)
)]

# rowData(tfa$`PND15 vs Adult`) <- rowData(tfa$`PND15 vs Adult`)[order(rowData(tfa$`PND15 vs Adult`)[, 11]), ]

Filtered regulons

tfa$`PND8 vs PND15` <- tfa$`PND8 vs PND15`[, c(
  grep(pattern = "PND8", x = colnames(tfa$`PND8 vs PND15`), value = ),
  grep(pattern = "PND15", x = colnames(tfa$`PND8 vs PND15`), value = )
)]

# rowData(tfa$`PND8 vs PND15`) <- rowData(tfa$`PND8 vs PND15`)[order(rowData(tfa$`PND8 vs PND15`)[, 11]), ]


tfa$`PND8 vs Adult` <- tfa$`PND8 vs Adult`[, c(
  grep(pattern = "PND8", x = colnames(tfa$`PND8 vs Adult`), value = ),
  grep(pattern = "Adult", x = colnames(tfa$`PND8 vs Adult`), value = )
)]

# rowData(tfa$`PND8 vs Adult`) <- rowData(tfa$`PND8 vs Adult`)[order(rowData(tfa$`PND8 vs Adult`)[, 11]), ]

tfa$`PND15 vs Adult` <- tfa$`PND15 vs Adult`[, c(
  grep(pattern = "PND15", x = colnames(tfa$`PND15 vs Adult`), value = ),
  grep(pattern = "Adult", x = colnames(tfa$`PND15 vs Adult`), value = )
)]

# rowData(tfa$`PND15 vs Adult`) <- rowData(tfa$`PND15 vs Adult`)[order(rowData(tfa$`PND15 vs Adult`)[, 11]), ]

Heatmaps

All regulons

PND8 vs PND15

sehm(
  hmcols = viridis::viridis(1000), se = tfa.all$`PND8 vs PND15`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

PND8 vs Adult

sehm(
  hmcols = viridis::viridis(1000), se = tfa.all$`PND8 vs Adult`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

PND15 vs Adult

sehm(
  hmcols = viridis::viridis(1000), se = tfa.all$`PND15 vs Adult`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

Filtered regulons

PND8 vs PND15

sehm(
  hmcols = viridis::viridis(1000), se = tfa$`PND8 vs PND15`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

PND8 vs Adult

sehm(
  hmcols = viridis::viridis(1000), se = tfa$`PND8 vs Adult`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

PND15 vs Adult

sehm(
  hmcols = viridis::viridis(1000), se = tfa$`PND15 vs Adult`[1:20, ],
  anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
  anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)

Tables

All regulons

PND8 vs PND15

make_DT(tab = rowData(tfa.all$`PND8 vs PND15`))

PND8 vs Adult

make_DT(tab = rowData(tfa.all$`PND8 vs Adult`))

PND15 vs Adult

make_DT(tab = rowData(tfa.all$`PND15 vs Adult`))

Filtered regulons

PND8 vs PND15

make_DT(tab = rowData(tfa$`PND8 vs PND15`))

PND8 vs Adult

make_DT(tab = rowData(tfa$`PND8 vs Adult`))

PND15 vs Adult

make_DT(tab = rowData(tfa$`PND15 vs Adult`))

SessionInfo

devtools::session_info()
## ─ Session info ──────────────────────────────────────────────────────────
##  setting  value                       
##  version  R version 3.5.3 (2019-03-11)
##  os       Ubuntu 16.04.6 LTS          
##  system   x86_64, linux-gnu           
##  ui       X11                         
##  language (EN)                        
##  collate  de_DE.UTF-8                 
##  ctype    de_DE.UTF-8                 
##  tz       Europe/Zurich               
##  date     2019-06-20                  
## 
## ─ Packages ──────────────────────────────────────────────────────────────
##  package              * version   date       lib source        
##  acepack                1.4.1     2016-10-29 [1] CRAN (R 3.5.1)
##  annotate               1.60.1    2019-03-07 [1] Bioconductor  
##  AnnotationDbi          1.44.0    2018-10-30 [1] Bioconductor  
##  assertthat             0.2.1     2019-03-21 [1] CRAN (R 3.5.3)
##  backports              1.1.4     2019-04-10 [1] CRAN (R 3.5.3)
##  base64enc              0.1-3     2015-07-28 [1] CRAN (R 3.5.1)
##  Biobase              * 2.42.0    2018-10-30 [1] Bioconductor  
##  BiocGenerics         * 0.28.0    2018-10-30 [1] Bioconductor  
##  BiocParallel         * 1.16.6    2019-02-10 [1] Bioconductor  
##  Biostrings             2.50.2    2019-01-03 [1] Bioconductor  
##  bit                    1.1-14    2018-05-29 [1] CRAN (R 3.5.1)
##  bit64                  0.9-7     2017-05-08 [1] CRAN (R 3.5.1)
##  bitops                 1.0-6     2013-08-17 [1] CRAN (R 3.5.1)
##  blob                   1.1.1     2018-03-25 [1] CRAN (R 3.5.1)
##  bookdown               0.11      2019-05-28 [1] CRAN (R 3.5.3)
##  callr                  3.2.0     2019-03-15 [1] CRAN (R 3.5.3)
##  caTools                1.17.1.2  2019-03-06 [1] CRAN (R 3.5.2)
##  checkmate              1.9.3     2019-05-03 [1] CRAN (R 3.5.3)
##  class                  7.3-15    2019-01-01 [1] CRAN (R 3.5.1)
##  cli                    1.1.0     2019-03-19 [1] CRAN (R 3.5.3)
##  cluster                2.0.9     2019-05-01 [1] CRAN (R 3.5.3)
##  codetools              0.2-16    2018-12-24 [1] CRAN (R 3.5.1)
##  colorspace             1.4-1     2019-03-18 [1] CRAN (R 3.5.3)
##  crayon                 1.3.4     2017-09-16 [1] CRAN (R 3.5.1)
##  crosstalk              1.0.0     2016-12-21 [1] CRAN (R 3.5.1)
##  data.table             1.12.2    2019-04-07 [1] CRAN (R 3.5.3)
##  DBI                    1.0.0     2018-05-02 [1] CRAN (R 3.5.1)
##  DelayedArray         * 0.8.0     2018-10-30 [1] Bioconductor  
##  dendextend             1.12.0    2019-05-11 [1] CRAN (R 3.5.3)
##  desc                   1.2.0     2018-05-01 [1] CRAN (R 3.5.1)
##  DESeq2                 1.22.2    2019-01-04 [1] Bioconductor  
##  devtools               2.0.2     2019-04-08 [1] CRAN (R 3.5.3)
##  digest                 0.6.19    2019-05-20 [1] CRAN (R 3.5.3)
##  dplyr                  0.8.1     2019-05-14 [1] CRAN (R 3.5.3)
##  DT                   * 0.7       2019-06-11 [1] CRAN (R 3.5.3)
##  e1071                  1.7-2     2019-06-05 [1] CRAN (R 3.5.3)
##  edgeR                * 3.24.3    2019-01-02 [1] Bioconductor  
##  evaluate               0.14      2019-05-28 [1] CRAN (R 3.5.3)
##  foreach                1.4.4     2017-12-12 [1] CRAN (R 3.5.1)
##  foreign                0.8-71    2018-07-20 [1] CRAN (R 3.5.1)
##  Formula                1.2-3     2018-05-03 [1] CRAN (R 3.5.1)
##  fs                     1.3.1     2019-05-06 [1] CRAN (R 3.5.3)
##  gclus                  1.3.2     2019-01-07 [1] CRAN (R 3.5.2)
##  gdata                  2.18.0    2017-06-06 [1] CRAN (R 3.5.1)
##  genefilter             1.64.0    2018-10-30 [1] Bioconductor  
##  geneplotter            1.60.0    2018-10-30 [1] Bioconductor  
##  GenomeInfoDb         * 1.18.2    2019-02-12 [1] Bioconductor  
##  GenomeInfoDbData       1.2.0     2019-01-17 [1] Bioconductor  
##  GenomicRanges        * 1.34.0    2018-10-30 [1] Bioconductor  
##  GEOquery               2.50.5    2018-12-22 [1] Bioconductor  
##  ggplot2              * 3.1.1     2019-04-07 [1] CRAN (R 3.5.3)
##  glue                   1.3.1     2019-03-12 [1] CRAN (R 3.5.3)
##  gplots                 3.0.1.1   2019-01-27 [1] CRAN (R 3.5.2)
##  gridExtra            * 2.3       2017-09-09 [1] CRAN (R 3.5.1)
##  gtable                 0.3.0     2019-03-25 [1] CRAN (R 3.5.3)
##  gtools                 3.8.1     2018-06-26 [1] CRAN (R 3.5.1)
##  highr                  0.8       2019-03-20 [1] CRAN (R 3.5.3)
##  Hmisc                  4.2-0     2019-01-26 [1] CRAN (R 3.5.2)
##  hms                    0.4.2     2018-03-10 [1] CRAN (R 3.5.1)
##  htmlTable              1.13.1    2019-01-07 [1] CRAN (R 3.5.2)
##  htmltools              0.3.6     2017-04-28 [1] CRAN (R 3.5.1)
##  htmlwidgets            1.3       2018-09-30 [1] CRAN (R 3.5.1)
##  httpuv                 1.5.1     2019-04-05 [1] CRAN (R 3.5.3)
##  httr                   1.4.0     2018-12-11 [1] CRAN (R 3.5.1)
##  IRanges              * 2.16.0    2018-10-30 [1] Bioconductor  
##  iterators              1.0.10    2018-07-13 [1] CRAN (R 3.5.1)
##  jsonlite               1.6       2018-12-07 [1] CRAN (R 3.5.1)
##  KernSmooth             2.23-15   2015-06-29 [1] CRAN (R 3.5.1)
##  knitr                  1.23      2019-05-18 [1] CRAN (R 3.5.3)
##  labeling               0.3       2014-08-23 [1] CRAN (R 3.5.1)
##  later                  0.8.0     2019-02-11 [1] CRAN (R 3.5.2)
##  lattice                0.20-38   2018-11-04 [1] CRAN (R 3.5.1)
##  latticeExtra           0.6-28    2016-02-09 [1] CRAN (R 3.5.1)
##  lazyeval               0.2.2     2019-03-15 [1] CRAN (R 3.5.3)
##  limma                * 3.38.3    2018-12-02 [1] Bioconductor  
##  locfit                 1.5-9.1   2013-04-20 [1] CRAN (R 3.5.1)
##  magrittr               1.5       2014-11-22 [1] CRAN (R 3.5.1)
##  MASS                   7.3-51.4  2019-04-26 [1] CRAN (R 3.5.3)
##  Matrix                 1.2-17    2019-03-22 [1] CRAN (R 3.5.3)
##  matrixStats          * 0.54.0    2018-07-23 [1] CRAN (R 3.5.1)
##  memoise                1.1.0     2017-04-21 [1] CRAN (R 3.5.1)
##  mime                   0.7       2019-06-11 [1] CRAN (R 3.5.3)
##  miniUI                 0.1.1.1   2018-05-18 [1] CRAN (R 3.5.1)
##  mixtools               1.1.0     2017-03-10 [1] CRAN (R 3.5.3)
##  munsell                0.5.0     2018-06-12 [1] CRAN (R 3.5.1)
##  nnet                   7.3-12    2016-02-02 [1] CRAN (R 3.5.1)
##  pheatmap             * 1.0.12    2019-01-04 [1] CRAN (R 3.5.2)
##  pillar                 1.4.1     2019-05-28 [1] CRAN (R 3.5.3)
##  pkgbuild               1.0.3     2019-03-20 [1] CRAN (R 3.5.3)
##  pkgconfig              2.0.2     2018-08-16 [1] CRAN (R 3.5.1)
##  pkgload                1.0.2     2018-10-29 [1] CRAN (R 3.5.1)
##  plgINS               * 0.1.5     2019-06-07 [1] local         
##  plotly               * 4.9.0     2019-04-10 [1] CRAN (R 3.5.3)
##  plyr                   1.8.4     2016-06-08 [1] CRAN (R 3.5.1)
##  prettyunits            1.0.2     2015-07-13 [1] CRAN (R 3.5.1)
##  processx               3.3.1     2019-05-08 [1] CRAN (R 3.5.3)
##  promises               1.0.1     2018-04-13 [1] CRAN (R 3.5.1)
##  ps                     1.3.0     2018-12-21 [1] CRAN (R 3.5.1)
##  purrr                  0.3.2     2019-03-15 [1] CRAN (R 3.5.3)
##  questionr              0.7.0     2018-11-26 [1] CRAN (R 3.5.1)
##  R6                     2.4.0     2019-02-14 [1] CRAN (R 3.5.2)
##  RColorBrewer         * 1.1-2     2014-12-07 [1] CRAN (R 3.5.1)
##  Rcpp                   1.0.1     2019-03-17 [1] CRAN (R 3.5.3)
##  RCurl                  1.95-4.12 2019-03-04 [1] CRAN (R 3.5.3)
##  readr                  1.3.1     2018-12-21 [1] CRAN (R 3.5.1)
##  registry               0.5-1     2019-03-05 [1] CRAN (R 3.5.2)
##  remotes                2.0.4     2019-04-10 [1] CRAN (R 3.5.3)
##  rlang                  0.3.4     2019-04-07 [1] CRAN (R 3.5.3)
##  rmarkdown              1.13      2019-05-22 [1] CRAN (R 3.5.3)
##  rmdformats             0.3.5     2019-02-19 [1] CRAN (R 3.5.2)
##  rpart                  4.1-15    2019-04-12 [1] CRAN (R 3.5.3)
##  rprojroot              1.3-2     2018-01-03 [1] CRAN (R 3.5.1)
##  RSQLite                2.1.1     2018-05-06 [1] CRAN (R 3.5.1)
##  rstudioapi             0.10      2019-03-19 [1] CRAN (R 3.5.3)
##  S4Vectors            * 0.20.1    2018-11-09 [1] Bioconductor  
##  scales                 1.0.0     2018-08-09 [1] CRAN (R 3.5.1)
##  segmented              0.5-4.0   2019-05-13 [1] CRAN (R 3.5.3)
##  seriation            * 1.2-7     2019-06-08 [1] CRAN (R 3.5.3)
##  sessioninfo            1.1.1     2018-11-05 [1] CRAN (R 3.5.1)
##  shiny                  1.3.2     2019-04-22 [1] CRAN (R 3.5.3)
##  SRAdb                  1.44.0    2018-10-30 [1] Bioconductor  
##  stringi                1.4.3     2019-03-12 [1] CRAN (R 3.5.3)
##  stringr                1.4.0     2019-02-10 [1] CRAN (R 3.5.2)
##  SummarizedExperiment * 1.12.0    2018-10-30 [1] Bioconductor  
##  survival               2.44-1.1  2019-04-01 [1] CRAN (R 3.5.3)
##  testthat               2.1.1     2019-04-23 [1] CRAN (R 3.5.3)
##  tibble                 2.1.3     2019-06-06 [1] CRAN (R 3.5.3)
##  tidyr                  0.8.3     2019-03-01 [1] CRAN (R 3.5.2)
##  tidyselect             0.2.5     2018-10-11 [1] CRAN (R 3.5.1)
##  TSP                    1.1-7     2019-05-22 [1] CRAN (R 3.5.3)
##  UpSetR               * 1.4.0     2019-05-22 [1] CRAN (R 3.5.3)
##  usethis                1.5.0     2019-04-07 [1] CRAN (R 3.5.3)
##  viper                * 1.16.0    2018-10-30 [1] Bioconductor  
##  viridis                0.5.1     2018-03-29 [1] CRAN (R 3.5.1)
##  viridisLite            0.3.0     2018-02-01 [1] CRAN (R 3.5.1)
##  withr                  2.1.2     2018-03-15 [1] CRAN (R 3.5.1)
##  xfun                   0.7       2019-05-14 [1] CRAN (R 3.5.3)
##  XML                    3.98-1.20 2019-06-06 [1] CRAN (R 3.5.3)
##  xml2                   1.2.0     2018-01-24 [1] CRAN (R 3.5.1)
##  xtable                 1.8-4     2019-04-21 [1] CRAN (R 3.5.3)
##  XVector                0.22.0    2018-10-30 [1] Bioconductor  
##  yaml                   2.2.0     2018-07-25 [1] CRAN (R 3.5.1)
##  zlibbioc               1.28.0    2018-10-30 [1] Bioconductor  
## 
## [1] /home/ubuntu/R/x86_64-pc-linux-gnu-library/3.5
## [2] /usr/local/lib/R/site-library
## [3] /usr/lib/R/site-library
## [4] /usr/lib/R/library

Deepak Tanwar

Created on: 2019-06-19
Updated on: 2019-06-20